Soru & Cevap

if koşuluyla iki değişkeni karşılaştırırken hata alıyorum

06.10.2015 - 09:12

if koşuluyla iki değişkennin eşit olup olmadığını kontrol ediyorum değişkenler eşit olmasına rağmen yanlış diyor doğruyken yapması gerekeni yapmıyor napmam lazım acil yardım edermisiniz

2 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-7541-1521024507.jpg
burhanaras
10.10.2015 - 10:56

String türünden verileri karşılaştırıyorsan equals("") methodunu kullanman gerekli mutlaka.

"==" operatörü, int, float, double, long, byte gibi primitive'ler için çalışır. Object'lerde işe yaramaz.

Profile picture for user sakelestemur
sakelestemur
07.10.2015 - 02:13

Değişken değerleri aynı gibi görünmesine rağmen, tiplerinde bir farklılık olabilir. Örneğin 

String degisken1 = "5";
int degisken2 = 5;
short degisken3 = 5;

arasında fark bulunuyor. Bu şekilde bir mukayesenin yapılabilmesi içinse == yerine === operatörünü kullanmak gerek. Yani sadece değerlerin değil, aynı zamanda tiplerin de eşit olup olmadığı bu operatörle kontrol ediliyor. Örnek:

if (degisken2 === degisken3){
// diğer kodlar
}

Kodlarını görmediğim için bu şekilde bir durum olabileceği aklıma geldi. Umarım faydalı olmuştur.

Kolay gelsin.

picture-61826-1444149955.jpg
OguzhanARSLAN
06.10.2015 - 09:34

Merhaba;

Değişkenlerin nelerdir. Yada nasıl eşitlik kontrolü yapıyorsun.

Eğer '==' karsılaştırma operatörünü kullanırsak iki nesnenin ayni olup olmadığına bakar.
equals() ile yaptığımızda ise iki String nesnesinin aldığı değerlerin karşılaştırılmasıdır.
İki arabanın yalnızca renginin kıyaslanması ile renginin, markasının, modelinin… kıyaslanması gibi.

String x = "X";
String veri = ""+x;

if(veri.toString()=="X")
	System.out.println("ESIT");
else
	System.out.println("ESIT degil");
	
	
if(veri.equals("X"))
	System.out.println("ESIT");
else
	System.out.println("ESIT degil");